package com.lile.IO_02.File;

import java.io.File;
import java.io.IOException;

/*
 * File:文件和目录路径名的抽象表示形式
 * 理解：不代表这个文件或者目录一定存在。
 * 
 * 构造方法：
 * 		File(String pathname)：通过一个路径名创建File对象
 * 		File(String parent, String child)： 通过父路径和子路径名创建File对象
 * 		File(File parent, String child)：通过父路径File对象和子路径名创建File对象
 */
public class FileDemo {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		constructionMethod();
		try {
			createFileFolder();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	public static void constructionMethod() {
		File file = new File("/Users/lile/Documents/workspace/JavaSE/05_IO/com/lile/IO_02/a.txt");

		File file2 = new File("/Users/lile/Documents/workspace/JavaSE/05_IO/com/lile/IO_02/", "b.txt");

		File file3 = new File("/Users/lile/Documents/workspace/JavaSE/05_IO/com/lile/IO_02/");
		File file4 = new File(file3, "c.txt");
	}

	/*
	 * 创建功能： A:创建文件,如果文件不存在，就创建。存在，就不创建。 public boolean createNewFile() throws
	 * IOException
	 * 
	 * B:创建文件夹，如果文件夹不存在，就创建。存在，就不创建。 public boolean mkdir() 单级文件夹 public boolean
	 * mkdirs() 多级文件夹
	 * 
	 * 到底创建的是文件还是文件夹，取决于你使用的方法。不取决于后缀名。 骑白马的不一定是班长，可能是组长。
	 * 
	 * 相对路径：不以盘符开始的路径 绝对路径：以盘符开始的路径
	 */
	public static void createFileFolder() throws IOException {
		File file = new File("/Users/lile/Documents/workspace/JavaSE/05_IO/com/lile/IO_02/d.txt");
		System.out.println("createNewFile : " + file.createNewFile());

		File file2 = new File("aaa");
		System.out.println("mkdir : " + file2.mkdir());

		File file3 = new File("bbb/bbb1/bbb2");
		System.out.println("mkdirs : " + file3.mkdirs());

	}

}
